package com.runfast.waimai.dao.model;

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
public class RunfastGoodsSell implements Serializable {
    /**新增*/
    public interface GroupA {
    }
    /**修改*/
    public interface GroupB {
    }
    /*** 外卖商品id*/
    @NotNull(message = "商品id不能为空！",groups = {GroupB.class})
    private Integer id;

    /*** 商品所属商家id（一个商品只能属于一个商家）*/
    @NotNull(message = "商家id不能为空！",groups = {GroupB.class,GroupA.class})
    private Integer businessid;

    /*** 所属商家名字*/
    private String businessname;

    /*** 外卖商品描述*/
    @NotNull(message = "商品描述不能为空！",groups = {GroupB.class,GroupA.class})
    private String content;

    /*** 创建时间*/
    private Date createtime;

    private Double discount;

    /*** mini_num，商品图片*/
    @NotNull(message = "商品图片不能为空！",groups = {GroupB.class,GroupA.class})
    private String imgpath;

    /*** 商品名字*/
    @NotNull(message = "商品名字不能为空！",groups = {GroupB.class,GroupA.class})
    private String name;

    /*** 商品价格*/
    private Double price;

    /*** 商品分类（店内分类）*/
    @NotNull(message = "商品分类不能为空！",groups = {GroupB.class,GroupA.class})
    private Integer selltypeid;

    /*** 商品分类（店内分类）*/
    private String selltypename;

    /*** 商品状态：0正常销售，1暂停销售，2商品下架*/
    private Integer status;

    /*** 商品分类ID(废弃)*/
    private Integer typeid;

    private String typename;

    /*** 月销量*/
    private Integer salesnum;

    /*** 商品数量*/
    private Integer num;

    private Integer star;

    /*** 是否收取打包费:0收取，1不收取*/
    private Integer ptype;

    /*** 代理商id*/
    private Integer agentid;

    /*** 代理商名称*/
    private String agentname;

    /*** 商品图片，压缩后的图片路径*/
    private String miniImgpath;

    /*** 是否限购：0否，1是*/
    private Integer islimited;

    /*** 限购结束时间*/
    private Date limiendtime;

    /*** 限购开始时间*/
    private Date limistarttime;

    /*** 限购数量*/
    private Integer limitnum;

    /*** 超出后是允许原价购买：0否，1是*/
    private Integer limittype;

    /***  删除标志：0否，1是*/
    private Integer deleted;

    private String tags;

    /*** 商品单位*/
    @NotNull(message = "商品单位不能为空！",groups = {GroupB.class,GroupA.class})
    private String unit;

    /*** 子标题*/
    private String subtitle;

    /*** 是否必选商品*/
    private Boolean required;

    /*** 最低购买数量*/
    private Integer minNum;

    /*** 排序*/
    private Integer sort;

    private String standardLists;

    private String optionAndSubOptions;
    //@NotNull(message = "至少有一个规格！",groups = {GroupB.class,GroupA.class})
    private List<RunfastGoodsSellStandard> standardList=new ArrayList<RunfastGoodsSellStandard>();//商品规格

    private List<RunfastGoodsSellOption> optionList=new ArrayList<RunfastGoodsSellOption>();//商品属性

    /**只是查询的时候用---为空或者1：菜单商品，2库存不足，3已下架，4价格异常，5回收站*/
    private Integer selectStatus;

    private List<Integer> ids=new ArrayList<Integer>();

    /**批量处理使用的字段，餐盒费，*/
    private Double packageFee;

    /**查询用的代理商id串*/
    private String agentIds;
    /**商家主品类id*/
    private Integer mainClassId;

    private static final long serialVersionUID = 1L;
}